Программирование драйверов Windows

Секция описания версии [Version]


Корректно составленный inf-файл начинается с секции [Version], которая является заголовком и меткой для всего драйверного inf-файла. Допустимые и необходимые записи внутри секции [Version] перечисляются в таблице 12.1.

Таблица 12.1. Элементы секции [Version]



Записи Значения
Signature Обязательная запись. Одно из указанных ниже значений

"$Windows NT" &#8212 для ОС ряда Windows NT

"$Windows 95" &#8212 для ОС Windows 9x/Me

"$Chicago$" &#8212 для всех версий ОС, поддерживающих WDM драйвера

Class Имя класса для целого семейства драйверов. Некоторые имена, например, Net, Display или Unknown зарезервированы (предопределены). В секции [Version] должна быть либо директива Class, соответствующая типу устройства, обслуживаемого устанавливаемым драйвером, либо ClassGuid, либо обе сразу.
ClassGuid Уникальный GUID идентификатор для класса устройства, которое обслуживает данный набор драйверного программного обеспечения (см. таблицу 12.2).
Provider Поставщик INF файла, наименование организации и т.п.
LayoutFile Используется только в INF файлах, поставляемых с операционной системой. Файлы, поставляемые OEM (Original Equipment Manufacturer), то есть "при аппаратуре", должны вместо этого элемента использовать SourceDiskNames и SourceDiskFiles
CatalogFile Указывает на cat-файл (с расширением .CAT), содержащий набор драйверных файлов. Этот набор формируется лабораторией Microsoft HW Quality Lab и содержит зашифрованную цифровую подпись проверенного драйверного программного обеспечения. Данный файл не должен подвергаться каким-либо формам архивации.
DriverVer Обязательная запись. Независимо от локализации версии ОС имеет формат mm/dd/yyyy[,x.y.v.z];

Здесь версия драйвера может быть введена через запятую после указания даты.

В таблице 12.2 приводятся некоторые из инсталляционных классов, которые можно указывать в директивах Class и ClassGuid. Наиболее полный и верный на текущий момент набор классов можно найти в разделе Системного Реестра HKLM\CurrentControlSet\Control\Class\{...}, где операционная система хранит все поддерживаемые на текущий момент классы устройств.
Указанный раздел разбит на подразделы в соответствии с GUID идентификаторами классов, причем в каждом подразделе имеется параметр Class, в котором хранится наименование соответствующего класса в текстовой форме.

Таблица 12.2. Инсталляционные классы: названия и глобально-уникальные идентификаторы

Наименование Описание GUID идентификаторы
1394 Хост-контроллер шины 1394 {6BDD1FC1-810F-11D0-BEC7-08002BE2092F}
Battery Аккумуляторные устройства питания {72631E54-78A4-11D0-BCF7-00AA00B7B32A}
CDROM Устройства CD ROM {4D36E965-E325-11CE-BFC1-08002BE10318}
Display Дисплейные адаптеры {4D36E968-E325-11CE-BFC1-08002BE10318}
HIDClass HID устройства {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}
Infrared Устройства ИК-связи (IrDA) {6BDD1FC5-810F-11D0-BEC7-08002BE2092F}
Keyboard Клавиатура {4D36E96B-E325-11CE-BFC1-08002BE10318}
Media Устройства мультимедиа {4D36E96C-E325-11CE-BFC1-08002BE10318}
Modem Модем {4D36E96D-E325-11CE-BFC1-08002BE10318}
Monitor Монитор {4D36E96E-E325-11CE-BFC1-08002BE10318}
Mouse Манипулятор "мышь" {4D36E96F-E325-11CE-BFC1-08002BE10318}
MultiPortSerial Многопортовые последовательные адаптеры {50906CB8-BA12-11D1-BF5D-0000F805F530}
Network Сетевой адаптер {4D36E972-E325-11CE-BFC1-08002bE10318}
NetClient Сетевой клиент {4D36E973-E325-11CE-BFC1-08002BE10318}
NetService Сетевой сервис {4D36E974-E325-11CE-BFC1-08002BE10318}
PCMCIA Адаптеры PCMCIA {4D36E977-E325-11CE-BFC1-08002BE10318}
Ports Порты (COM&LPT) {4D36E978-E325-11CE-BFC1-08002BE10318}
Printer Принтер {4D36E979-E325-11CE-BFC1-08002BE10318}
System Системные устройства {4D36E97D-E325-11CE-BFC1-08002BE10318}
TapeDrive Устройства работы с магнитной лентой {6D807884-7D21-11CF-801C-08002BE10318}
Unknown Другие устройства {4D36E97E-E325-11CE-BFC1-08002BE10318}
USB USB устройства {36FC9E60-C465-11CF-8056-444553540000}
Указанный раздел Системного Реестра можно пополнять своими классами при инсталляции драйвера.Эта процедура достаточно проста, причем Мастер Установки Windows любезно заполняет необходимые поля соответствующей информацией. Пример внесения собственного класса устройств будет рассмотрен чуть позже.


Содержание раздела